package VN.EDU.IMIC.PROJECTLEADER.NGUYENVANDOAN.ARRAYEXCERCISES.EX01;

import java.util.Scanner;

public class VIEWS {
    public static void main(String[] args) {
        // 1. Đưa ra yêu cầu đối với người dùng
        double dValue = 0;
        Scanner sc = new Scanner(System.in);
        double[] temps = new double[100];
        double[] myValue;
        int iCount = 0;
        int k = 0;

        // 2. Nhập liệu vào biến mảng
        do {
            // Nhận giá trị
            System.out.println("+ Nhập giá trị (nhập số âm để thoát việc nhập): ");
            dValue = sc.nextDouble();

            // Kiểm tra giá trị đầu vào
            if (dValue > 0) {
                temps[iCount] = dValue;
                iCount++;
            }
            k++;
        } while (dValue > 0 && k < temps.length);

        // 3. Hiển thị tập giá trị trong mảng
        myValue = new double[iCount];
        System.arraycopy(temps, 0, myValue, 0, iCount);

        /*
         * for(int i=0;i<iCount;i++){ myValue[i] = temps[i]; }
         */

        // 4. Khai báo và khởi tạo đối tượng để sử dụng các nghiệp bên trong nó
        CONTROLLERS objController = new CONTROLLERS();

        // 5. Thực thi xử lý nghiệp vụ để nhận về tập giá trị TMDK >= 5
        // C1: Tường minh biến mảng nhận kq
        double[] kq = objController.FindValue(myValue, (short) 0);

        // 6. Hiển thị kết quả
        System.out.println("+ Số phần tử có giá trị >= 5 là: " + kq.length);
        System.out.println("+ Các giá trị >= 5 dưới đây: ");
        for (double j : kq) {
            System.out.println("+ Giá trị = " + j);
        }

        // 7. Thực thi xử lý nghiệp vụ để nhận về tập giá trị TMDK < 5
        // C1: Tường minh biến mảng nhận kq
        double[] kq2 = objController.FindValue(myValue, (short) 1);

        // 6. Hiển thị kết quả
        System.out.println("+ Số phần tử có giá trị < 5 là: " + kq2.length);
        System.out.println("+ Các giá trị < 5 dưới đây: ");
        for (double j : kq2) {
            System.out.println("+ Giá trị = " + j);
        }
    }
}
